#include "list.h"
#include <stdio.h>

int my_strlen(char *str)
{
    int len = 0;

    // 计算
    while ('\0' != str[len])
    {
        len++;
    }

    // 返回长度
    return len;
}

// 插入链表 （尾部插入）
int insert_tail(STU **head, SP temp_node)
{
    // 保存链表头部
    SP head_p = *head;

    // 判断链表存在
    while (head_p != NULL)
    {
        if (head_p->next != NULL)
        {
            head_p = head_p->next;
        }
        else 
        {
            head_p->next = temp_node;
            return 0;
        }
    }

    *head = temp_node;
    return 0;
}

// 链表打印
void list_printf(SP head)
{
    while (head != NULL)
    {
        printf("name = %s number = %d grade = %f\n", head->name, head->number, head->grade);
        head = head->next;
    }
    return;
}

// 排序 从小到大
void list_sort(SP *head)
{
    int i = 0;
    int j = 0;
    int n = 5;
    SP head_p = *head;
    SP swap1 = NULL;
    SP swap2 = NULL;
    STU tmp;
    
    // 冒泡法排序
    for (i = 0; i < n - 1; i++)
    {
        head_p = *head;
        for (j = 0; j < n - 1 - i; j++)
        {
            if (head_p->grade > head_p->next->grade)
            {
                


            }
            
        }
    }
    return;
}